1. Technical Field of the Invention
The invention relates generally to memory storage devices; and, more particularly, it relates to error correction coding implemented within such memory storage devices.
2. Description of Related Art
As is known, many varieties of memory storage devices (e.g. disk drives), such as magnetic disk drives are used to provide data storage for a host device, either directly, or through a network such as a storage area network (SAN) or network attached storage (NAS). Typical host devices include stand alone computer systems such as a desktop or laptop computer, enterprise storage devices such as servers, storage arrays such as a redundant array of independent disks (RAID) arrays, storage routers, storage switches and storage directors, and other consumer devices such as video game systems and digital video recorders. These devices provide high storage capacity in a cost effective manner.
Within such hard disk drives (HDDs), error correction coding (ECC) is sometimes employed to ensure the ability to correct for errors of data that is written to and read from the storage media of a HDD. The ECC allows the ability to correct for those errors within the error correction capability of the code. In certain ECC schemes, certain of the calculations and/or processed performed during the decoding processing are much more intensive than others. One prior art approach to deal with this problem is to design a device such that efficiency can be achieved in terms of the particular architecture of the device. However, these schemes tend to be very space/area consumptive within the device, and as such, very costly. This high cost is not only in terms of the actual cost to manufacture the device, but also in terms of other performance parameters such as high power consumption. This can come at the expense of the requisite energy required for other modules and/or processes within the device. Within battery powered devices (e.g., laptop computers when operating on battery power, hand-held devices, etc.) this can be extremely deleterious in terms of performance.
There exists a need in the art for a better, more efficient means of performing error correction decoding within such devices.